/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package exercicioarquivo;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author akono
 */
public class Descritografa {

    public static void Descript() {
        File arqCripto = new File("C:/furb_temp/cript.cpt");
        try {
            FileInputStream fis = new FileInputStream(arqCripto);

            byte[] caracteres = new byte[3];
            fis.read(caracteres);
            System.out.println("saida: " + new String(caracteres));
            int tamanho = fis.read();
            System.out.println("tam nome arq = " + tamanho);

            caracteres = new byte[tamanho];
            fis.read(caracteres);

            String nomeArquivo = new String(caracteres);
            System.out.println("nom arq=" + nomeArquivo);

            File arqOriginal = new File(arqCripto.getParent()+"/a"+ nomeArquivo);
            FileOutputStream fos = new FileOutputStream(arqOriginal);

            byte[] dados = new byte[1024];

            while (fis.read(dados) > 0) {
                System.out.println("dados: "+Arrays.toString(dados));
                for (int i = 0; i < dados.length; i++) {
                    dados[i] = new Integer(~dados[i]).byteValue();
                }
                fos.write(dados);
            }
            fis.close();
            fos.close();

        } catch (FileNotFoundException ex) {
            Logger.getLogger(Descritografa.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Descritografa.class.getName()).log(Level.SEVERE, null, ex);
        }

    }    
    
}
